#ifndef OXIDEWRAPPER_H
#define OXIDEWRAPPER_H

#include <QObject>
#include <QQuickItem>
#include <QEvent>
#include <QWheelEvent>

class OxideOverlay : public QQuickItem
{
    Q_OBJECT
    Q_PROPERTY(QQuickItem *listView READ listView WRITE listView NOTIFY listViewChanged)
    QQuickItem *m_listView;

public:
    explicit OxideOverlay(QQuickItem *parent = 0);

//    virtual void classBegin();
//    virtual void componentComplete();

    QQuickItem *listView() const;

public slots:
    void listView(QQuickItem *listView);

signals:
    void blockedWheelEvent(int angleData);

    void listViewChanged(QQuickItem * listView);

protected:
    // This is the event we are interested in.
    // We need to block it and send
    virtual void wheelEvent(QWheelEvent *event);
    virtual void touchEvent(QTouchEvent *event);
    virtual bool childMouseEventFilter(QQuickItem *item, QEvent *event);

};

#endif // OXIDEWRAPPER_H
